<?php

class Default_Form_Comment extends Zend_Form {

	public function init() {
		$this->setMethod('post');
		
		$author_name = $this->createElement('text', 'author_name');
		$author_name->setLabel(_('Your name:'));
		$author_name->setAttrib('size', '32');
		$author_name->setAttrib('maxlength', '255');
		$author_name->setRequired(true);
		$author_name->addFilters(array('StringTrim', 'StripTags'));
		
		$author_email = $this->createElement('text', 'author_email');
		$author_email->setLabel(_('Email:'));
		$author_email->setAttrib('size', '32');
		$author_email->setAttrib('maxlength', '255');
		$author_email->setRequired(false);
		$author_email->addFilters(array('StringTrim', 'StripTags'));
		$author_email->addValidator('EmailAddress', true);
		
		$author_website = $this->createElement('text', 'author_website');
		$author_website->setLabel(_('Your website:'));
		$author_website->setAttrib('size', '32');
		$author_website->setAttrib('maxlength', '255');
		$author_website->setRequired(false);
		$author_website->addFilters(array('StringTrim', 'StripTags'));
		$author_website->addValidator(new ZFEngine_Validate_Uri, true);
		
		$comment = $this->createElement('textarea', 'body');
		$comment->setLabel(_('Comment:'));
		$comment->setAttrib('rows', '8');
		$comment->setAttrib('cols', '46');
		$comment->addFilters(array('StringTrim', 'StripTags'));
		$comment->setRequired(true);
		
		$captcha = new Zend_Form_Element_Captcha('captcha', array(
            'label' => _('Enter control code:'),
            'captcha' => array(
                'captcha'   => 'Image', // Тип CAPTCHA
                'wordLen'   => 4,       // Количество генерируемых символов
                'width'     => 100,     // Ширина изображения
                'timeout'   => 120,     // Время жизни сессии хранящей символы
                'expiration'=> 300,     // Время жизни изображения в файловой системе
                'font'      => APPLICATION_PATH . '/../data/fonts/arial.ttf', // Путь к шрифту
                'imgDir'    => APPLICATION_PATH . '/../data/captcha/', // Путь к изобр.
                'imgUrl'    => '/data/captcha/', // Адрес папки с изображениями
                'gcFreq'    => 5,        // Частота вызова сборщика мусора
		 		'DotNoiseLevel' => 5,
		 		'LineNoiseLevel' => 3
            ),
        ));
		
		$submit = $this->createElement('submit', 'submit');
		$submit->setLabel(_('Submit'));
		
		$this->addElements(array($author_name, $author_email, $author_website, $comment, $captcha, $submit));
	}
}